package com.wl.service;

import com.wl.pojo.*;
import com.wl.pojo.Personal.Collect;
import com.wl.pojo.Personal.Personal;
import com.wl.pojo.Personal.PersonalUser;

import java.util.List;

public interface PersonalService {

    /**
     * 获取用户的基本信息，包括兴趣标签
     */
    Personal getPersonalInfo(Integer userId);

    /**
     * 分页获取关注的情况，包括获取粉丝和获取关注的用户两种情况
     * currentSwitch 用来判断是查询关注还是查询粉丝
     */
    PageBean getFollowOrFans(Integer currentSwitch, Integer userId, Integer currentPage, Integer pageSize);

    /**
     * 获取当前登陆用户的关注用户的id列表
     */
    List<Integer> getLoginUserFollow(Integer userId);

    /**
     * 获取个人主页页面的展示的文章内容
     */
    PageBean getPersonalPost(String activeName, Integer userId, Integer currentPage, Integer pageSize);

    /**
     * 删除文章
     */
    void deletePostById(Integer postId);

    /**
     * 获取用户可供选择的兴趣标签数据
     */
    List<InterestTag> getInterest();

    /**
     * 获取用户信息
     */
    PersonalUser getUserInfo(Integer userId);

    /**
     * 修改用户信息，仅包括用户名，个人介绍。兴趣标签
     */
    void updateUserInfo(PersonalUser personalUser);

    /**
     * 修改密码接口
     */
    void updatePassword(Integer userId, String password);

    /**
     * 获取当前登陆用户的收藏数据
     */
    Object getCollectData(Integer userId);

    /**
     * 删除收藏夹
     */
    void deleteCategory(Integer categoryId);

    /**
     * 更新收藏夹
     */
    void updateCategory(Collect collect);
}
